package com.jsyso.weixin.msg.in;

/**
 * 事件类型
 * @author janjan, xujian_jason@163.com
 *
 */
public enum EventType {
	// 扫描带参数二维码事件之一        1: 用户未关注时，进行关注后的事件推送
	UNSUBSCRIBE("unsubscribe"), 
	// 扫描带参数二维码事件之二        2: 用户已关注时的事件推送
	SCAN("SCAN"), 
	// 关注事件，包括二维码扫描关注。(二维码扫描关注事件与扫描带参数二维码事件是两回事，虽然事件类型同为 subscribe)
	SUBSCRIBE("subscribe"), 
	// 上报地理位置事件
	LOCATION("location"), 
	// 自定义菜单事件之一            1：点击菜单拉取消息时的事件推送
	CLICK("CLICK"), 
	// 自定义菜单事件之二            2：点击菜单跳转链接时的事件推送
	VIEW("VIEW"), 
	// 扫码推事件 和 扫码推事件且弹出“消息接收中”提示框
	SCANCODE_PUSH("scancode_push"), 
	// 弹出系统拍照发图
	PIC_SYSPHOTO("pic_sysphoto"), 
	// 弹出拍照或者相册发图
	PIC_PHOTO_OR_ALBUM("pic_photo_or_album"), 
	// 弹出微信相册发图器
	PIC_WEIXIN("pic_weixin"), 
	// 弹出地理位置选择器
	LOCATION_SELECT("location_select"), 
	// 下发消息（除文本消息）
	MEDIA_ID("media_id"), 
	// 跳转图文消息URL
	VIEW_LIMITED("view_limited"), 
	// 模板消息是否送达成功通知事件
	TEMPLATESENDJOBFINISH("TEMPLATESENDJOBFINISH"), 
	// 群发任务结束时是否送达成功通知事件
	MASSSENDJOBFINISH("MASSSENDJOBFINISH"), 
	// 多客服接入会话事件
	KF_CREATE_SESSION("kf_create_session"), 
	// 多客服关闭会话事件
	KF_CLOSE_SESSION("kf_close_session"),
	// 多客服转接会话事件
	KF_SWITCH_SESSION("kf_switch_session"), 
	// 微信摇一摇事件
	SHAKEAROUND_USER_SHAKE("ShakearoundUserShake"), 
	// 资质认证成功 || 名称认证成功 || 年审通知 || 认证过期失效通知
	QUALIFICATION_VERIFY_SUCCESS("qualification_verify_success"), 
	// 资质认证失败 || 名称认证失败
	QUALIFICATION_VERIFY_FAIL("qualification_verify_fail"), 
	// 门店在审核事件消息
	POI_CHECK_NOTIFY("poi_check_notify"), 
	// WIFI连网后下发消息
	WIFI_CONNECTED("WifiConnected"), 
	// 微信会员卡二维码扫描领取接口
	USER_VIEW_CARD("user_view_card"), 
	// 微信会员卡激活接口
	SUBMIT_MEMBERCARD_USER_INFO("submit_membercard_user_info"), 
	// 微信会员卡激活接口
	UPDATE_MEMBER_CARD("update_member_card"), 
	// 微信会员卡积分变更
	USER_PAY_FROM_PAY_CELL("user_pay_from_pay_cell"), 
	// 微信会员卡快速买单
	MERCHANT_ORDER("merchant_order"),
	
	// 其他事件（未知的事件）
	_UNKNOWN("unknown");
	
	private String type;
	
	private EventType(String type) {
		this.type = type;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	@Override
	public String toString() {
		return this.type;
	}
	
}
